import pytest
import os
import time

from aotocase_test.config import RunConfig


def init_env(new_report):
    """
    初始化测试报告目录
    """
    os.mkdir(new_report)
    os.mkdir(new_report + "/image")

def run():
    # 获取时间，按照年月日时分秒排列
    now_time = time.strftime("%Y_%m_%d_%H_%M_%S")
    # 根目录+实践成为每次生成报告的唯一目录
    RunConfig.NEW_REPORT = os.path.join(RunConfig.REPORT_DIR,now_time)
    init_env(RunConfig.NEW_REPORT)
    # 定义测试报告的绝对路径
    html_report = os.path.join(RunConfig.NEW_REPORT,"report.html")
    # 定义备用的xml格式报告的绝对路径
    xml_report = os.path.join(RunConfig.NEW_REPORT,"junit-xml.html")
    # 指定目录/文件执行用例
    pytest.main(["-s","-v",RunConfig.case_path,
                 "--html=" + html_report,
                 # 生成xml格式报告，备用
                 "--junit-xml=" + xml_report,
                 # 捕获错误日志输出信息到测试报告
                 "--capture=sys",
                 # 设置最大失败次数
                 "--maxfail",RunConfig.max_fail,
                 # 设置失败重跑次数
                 "--reruns",RunConfig.rerun])

if __name__ == '__main__':
    run()